﻿#ifndef CAMERASCREEN_H
#define CAMERASCREEN_H

#include <QThread>
#include <QObject>
#include <QScreen>
#include <QList>
#include <QTimer>
#include "../CameraCommon/IndustryCamera.h"
#include "../CameraCommon/DialogCameraSetup.h"

namespace Qly{
class CameraScreen_private;

class CAMERA_EXPORT CameraScreen : public Qly::IndustryCamera
{
public:
    CameraScreen(QObject *parent = 0);
    ~CameraScreen() Q_DECL_OVERRIDE;
    bool isLive() Q_DECL_OVERRIDE;
    bool showVCDPropertyPage()Q_DECL_OVERRIDE {return false;} ;
    bool openCameraByName(QString deviceName);
    bool openDefaultCamera() Q_DECL_OVERRIDE;
    bool startGrabbing() Q_DECL_OVERRIDE;
    bool stopGrabbing() Q_DECL_OVERRIDE;
    void close() Q_DECL_OVERRIDE;
    //    bool setAutoExposureTime(bool on) Q_DECL_OVERRIDE;

private slots:
    void on_imageComming(const QImage &image);
private:
    CameraScreen_private * m_pCameraScreen = nullptr;
};
}



#endif // CAMERASCREEN_H
